lexer grammar InternalMapr;
@header {
package dk.nineconsult.jmoller.mapr.parser.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
}

T11 : 'module' ;
T12 : '.' ;
T13 : 'complete' ;
T14 : 'partial' ;
T15 : 'one-way' ;
T16 : 'bidi' ;
T17 : 'mapper' ;
T18 : 'between' ;
T19 : 'and' ;
T20 : '{' ;
T21 : ';' ;
T22 : '}' ;
T23 : 'map' ;
T24 : '<=>' ;
T25 : 'left' ;
T26 : '=' ;
T27 : 'right' ;
T28 : 'composite' ;
T29 : 'ignore' ;

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 855
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 857
RULE_INT : ('0'..'9')+;

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 859
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 861
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 863
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 865
RULE_WS : (' '|'\t'|'\r'|'\n')+;

// $ANTLR src "../dk.nineconsult.jmoller.mapr/src-gen/dk/nineconsult/jmoller/mapr/parser/antlr/internal/InternalMapr.g" 867
RULE_ANY_OTHER : .;


